“h5_crtgrpar18”

Information

The example shown in this file appears at: http://www.hdfgroup.org/HDF5/Tutor/crtgrpar.html (accessed 10 July 2011)

The example shown in this file is following the tutorial: http://www.hdfgroup.org/HDF5/Tutor/introductory.html

Good references for the shown HDF5 functions include:
http://www.hdfgroup.org/HDF5/doc/RM/RM_H5Front.html
http://www.hdfgroup.org/HDF5/doc/RM/

Prepared 10 July 2011 by Scot Martin for Windows 7, 64-bit, Mathematica version 8.0.1.

“c” code we seek to replicate in this example

/*
 *   Creating groups using absolute and relative names.
 */

#include "hdf5.h"
#define FILE "groups.h5"

int main() {

   hid_t       file_id, group1_id, group2_id, group3_id;  /* identifiers */
   herr_t      status;

   /* Create a new file using default properties. */
   file_id = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);

   /* Create group "MyGroup" in the root group using absolute name. */
   group1_id = H5Gcreate(file_id, "/MyGroup", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);

   /* Create group "Group_A" in group "MyGroup" using absolute name. */
   group2_id = H5Gcreate(file_id, "/MyGroup/Group_A", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);

   /* Create group "Group_B" in group "MyGroup" using relative name. */
   group3_id = H5Gcreate(group1_id, "Group_B", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);

   /* Close groups. */
   status = H5Gclose(group1_id);
   status = H5Gclose(group2_id);
   status = H5Gclose(group3_id);

   /* Close the file. */
   status = H5Fclose(file_id);
}

}

Implementation in Mathematica

SetDirectory[NotebookDirectory[]]

Needs["HDF5`"]

file=FileNameJoin[{Directory[],"groups.h5"}]

fileID=H5Fcreate[file,H5FuACCuTRUNC,H5PuDEFAULT,H5PuDEFAULT]

group1ID=H5Gcreate[fileID, "/MyGroup", H5PuDEFAULT,H5PuDEFAULT,H5PuDEFAULT]

group2ID=H5Gcreate[fileID, "/MyGroup/Group_A", H5PuDEFAULT,H5PuDEFAULT,H5PuDEFAULT]

group3ID=H5Gcreate[fileID, "Group_B", H5PuDEFAULT,H5PuDEFAULT,H5PuDEFAULT]

H5Gclose[group1ID]
H5Gclose[group2ID]
H5Gclose[group3ID]

H5Fclose[fileID]